Weld{
  logger.trace("Weld()");
  weld=new org.jboss.weld.environment.se.Weld();
  weldContainer=weld.initialize();
}
apply{
  logger.trace("apply({}.{})",method.getMethod().getDeclaringClass().getCanonicalName(),method.getName());
  final BeanManager bm=weldContainer.getBeanManager();
  final Class<?> cl=target.getClass();
  @SuppressWarnings("unchecked") final AnnotatedType<Object> at=(AnnotatedType<Object>)bm.createAnnotatedType(cl);
  final InjectionTarget<Object> it=bm.createInjectionTarget(at);
    @Override public void evaluate() throws Throwable {
      final CreationalContext<Object> cc=bm.createCreationalContext(null);
      it.inject(target,cc);
      base.evaluate();
      weld.shutdown();
}
evaluate{
  final CreationalContext<Object> cc=bm.createCreationalContext(null);
  it.inject(target,cc);
  base.evaluate();
  weld.shutdown();
}
